/**
 * <b>项目名称：</b>网络应用框架<br/>
 * <b>包    名：</b>com.hhwy.framework.util<br/>
 * <b>文 件 名：</b>CaseInsensitiveMap.java<br/>
 * <b>版本信息：</b><br/>
 * <b>日    期：</b>2016年8月31日-下午4:29:37<br/>
 * <b>Copyright (c)</b> 2016恒华伟业科技股份有限公司-版权所有<br/>
 * 
 */
package com.hhwy.framework.util;

import java.util.HashMap;
import java.util.Map;

 /**
 * <b>类 名 称：</b>CaseInsensitiveMap<br/>
 * <b>类 描 述：</b><br/>
 * <b>创 建 人：</b>jlx<br/>
 * <b>修 改 人：</b>jlx<br/>
 * <b>修改时间：</b>2016年8月31日 下午4:29:37<br/>
 * <b>修改备注：</b><br/>
 * @version 1.0.0<br/>
 */
public class CaseInsensitiveMap<V> extends HashMap<String, V>{

	@Override
	public V get(Object key){
		
		if (key!=null) {
			key=key.toString().toLowerCase();
		}
		
		return super.get(key);
	}
	
	@Override
	public V put(String key,V val){
		
		if (key!=null) {
			key=key.toString().toLowerCase();
		}
		return super.put(key, val);
	}
	
	@Override
	public void putAll(Map map){
		
		if (map==null||map.size()<=0) {
			return;
		}
		
		CaseInsensitiveMap<V> hmap=new CaseInsensitiveMap<V>();
		
		for (Object key : map.keySet()) {
			hmap.put(key+"",(V)map.get(key));
		}
		
		super.putAll(hmap);
	}
	
	@Override
	public V remove(Object key){
		
		if (key!=null) {
			key=key.toString().toLowerCase();
		}
		return super.remove(key);
	}
	
	@Override
	public boolean containsKey(Object key){
		if (key!=null) {
			key=key.toString().toLowerCase();
		}
		return super.containsKey(key);
	}
}
